home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/perl
- # Copyright (c) 2001,2005,2007 Alexander V. Lukyanov <lav@yars.free.net>
- # See COPYING file (GNU GPL) for complete license.
-
- # This script converts netscape-style cookies to lftp set commands.
-
- use strict;
-
- my $file=$ARGV[0] if defined $ARGV[0];
- $file=qx{
- ls -t \$HOME/.netscape/cookies \\
- `find \$HOME/.mozilla -name cookies.txt` | head -1
- },chomp $file if !defined $file;
-
- open COOKIES,'<',$file or die "open($file): $!";
- print "# converted from $file\n";
- my %cookie;
- while(<COOKIES>)
- {
- chomp;
- next if /^#/ or /^$/;
- s/"/\\"/g;
- s/ /%20/g;
- my ($domain,undef,$path,$secure_bool,$expires,$name,$value)=split /\t/;
- my $secure='';
- $secure=';secure' if $secure_bool eq 'TRUE';
- $domain="*$domain" if $domain =~ /^\./;
- $path='' if $path eq '/';
- $path=";path=$path" if $path ne '';
- $value="=$value" if $name ne '';
- $cookie{"$domain$path$secure"}.=" $name$value";
- }
- foreach(sort keys %cookie)
- {
- $cookie{$_}=~s/^ //;
- print "set http:cookie/$_ \"$cookie{$_}\"\n";
- }
-